package com.ibeeking.gmc.global.service.common.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ibeeking.found.common.entity.open.OpenConfigOfExtend;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @ClassName TenantVo
 * @Description
 * @Author ibeeking
 * @Date 2020-12-24 09:21
 **/
@Data
@Accessors(chain = true)
@ToString
public class OpenConfigVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 微信开放平台配置名称
     */
    private String name;
    /**
     * 开放平台类型：1=微信开放平台；2=企业微信开放平台；3=支付宝开放平台；4=钉钉开放平台
     */
    private Integer type;
    private String typeName;
    /**
     * 开放平台子类型
     */
    private Integer subType;
    private String subTypeName;
    /**
     * 微信开放平台appid
     */
    private String openAppId;
    /**
     * 开放平台的Secret
     */
    private String openAppSecret;
    /**
     * 微信第三方平台的appid
     */
    private String componentAppId;

    /**
     * 微信第三方平台的Secret
     */
    private String componentSecret;

    /**
     * 微信第三方平台消息服务器配置的token
     */
    private String componentMsgToken;

    /**
     * 微信第三方平台消息服务器配置的EncodingAESKey
     */
    private String componentMsgAesKey;
    /**
     * 差异化配置Json
     */
    private String extendJson;
    /**
     * 微信公众号和小程序个性化配置
     */
    private OpenConfigOfExtend openConfigOfExtend;

    /**
     * http代理主机
     */
    private String httpProxyHost;

    /**
     * http代理端口
     */
    private Integer httpProxyPort;

    /**
     * http代理用户名
     */
    private String httpProxyUsername;

    /**
     * http代理密码
     */
    private String httpProxyPassword;
    /**
     * 是否启用，1-启用，0-禁用
     */
    private Integer publishStatus;
    private String publishStatusDesc;
    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 创建人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long createBy;

    /**
     * 更新时间
     */
    private String modifyTime;

    /**
     * 更新人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long modifyBy;

}
